Security News
GitHub Removes Malicious Pull Requests Targeting Open Source Repositories
GitHub removed 27 malicious pull requests attempting to inject harmful code across multiple open source repositories, in another round of low-effort attacks.
@uppy/companion-client
Advanced tools
Client library for communication with Companion. Intended for use in Uppy plugins.
@uppy/companion-client is a client-side library for Uppy, a modular file uploader for web browsers. It allows you to interact with Uppy Companion, a server-side component that handles file uploads from various sources such as local disk, remote URLs, and cloud services like Google Drive, Dropbox, and Instagram.
Upload Files
This feature allows you to upload files to a specified endpoint using the Companion server. The code sample demonstrates how to upload a file named 'example.txt' to a Companion server.
const { uploadFile } = require('@uppy/companion-client');
const file = new File(['content'], 'example.txt', { type: 'text/plain' });
uploadFile(file, {
endpoint: 'https://your-companion-server.com/upload',
fieldName: 'file'
}).then(response => {
console.log('File uploaded successfully:', response);
}).catch(error => {
console.error('Error uploading file:', error);
});
Generate Pre-signed URLs
This feature allows you to generate pre-signed URLs for uploading files directly to cloud storage services like Amazon S3. The code sample demonstrates how to generate a pre-signed URL for a file named 'example.txt'.
const { getPreSignedUrl } = require('@uppy/companion-client');
getPreSignedUrl('https://your-companion-server.com/s3', {
filename: 'example.txt',
contentType: 'text/plain'
}).then(response => {
console.log('Pre-signed URL:', response.url);
}).catch(error => {
console.error('Error generating pre-signed URL:', error);
});
List Files
This feature allows you to list files from a specified source, such as Google Drive or Dropbox, using the Companion server. The code sample demonstrates how to list files from Google Drive.
const { list } = require('@uppy/companion-client');
list('https://your-companion-server.com/drive').then(response => {
console.log('Files:', response.items);
}).catch(error => {
console.error('Error listing files:', error);
});
tus-js-client is a client-side library for the tus resumable upload protocol. It allows you to upload large files in chunks, resume interrupted uploads, and handle network issues. Unlike @uppy/companion-client, which is designed to work with Uppy and its Companion server, tus-js-client focuses on resumable uploads and can be used independently.
Fine Uploader is a JavaScript library for file uploads that supports multiple file selection, drag-and-drop, and resumable uploads. It provides a comprehensive set of features for file uploading, including support for various cloud storage services. Compared to @uppy/companion-client, Fine Uploader offers a more extensive set of features but may require more configuration.
Dropzone is a JavaScript library that provides drag-and-drop file uploads with image previews. It is easy to set up and use, making it a popular choice for simple file upload needs. While Dropzone offers basic file upload functionality, it lacks the advanced features and integrations provided by @uppy/companion-client.
Client library for communication with Companion. Intended for use in Uppy plugins.
Uppy is being developed by the folks at Transloadit, a versatile file encoding service.
import Uppy from '@uppy/core'
import { Provider, RequestClient, Socket } from '@uppy/companion-client'
const uppy = new Uppy()
const client = new RequestClient(uppy, {
companionUrl: 'https://uppy.mywebsite.com/',
})
client.get('/drive/list').then(() => {})
const provider = new Provider(uppy, {
companionUrl: 'https://uppy.mywebsite.com/',
provider: providerPluginInstance,
})
provider.checkAuth().then(() => {})
const socket = new Socket({ target: 'wss://uppy.mywebsite.com/' })
socket.on('progress', () => {})
Unless you are writing a custom provider plugin, you do not need to install this.
$ npm install @uppy/companion-client
Documentation for this plugin can be found on the Uppy website.
4.1.1
Released: 2024-08-15
| Package | Version | Package | Version | | ---------------------- | ------- | ---------------------- | ------- | | @uppy/aws-s3 | 4.0.3 | @uppy/provider-views | 4.0.1 | | @uppy/companion | 5.0.5 | @uppy/status-bar | 4.0.2 | | @uppy/companion-client | 4.0.1 | @uppy/transloadit | 4.0.2 | | @uppy/core | 4.1.1 | @uppy/tus | 4.0.1 | | @uppy/dashboard | 4.0.3 | @uppy/utils | 6.0.2 | | @uppy/drag-drop | 4.0.2 | @uppy/vue | 2.0.1 | | @uppy/file-input | 4.0.1 | uppy | 4.1.1 | | @uppy/image-editor | 3.0.1 | | |
allowMultipleUploadBatches
(Mikael Finstad / #5400)p-queue
(Antoine du Hamel / #5409)TypeError
(Mikael Finstad / #5399)corsOrigins
documentation (Mikael Finstad / #5390)ViewEncapsulation
to Angular example (Aaron Russell / #5395)cancelAll
and destroy()
(Mikael Finstad / #5408).ts
extension for relative import types (Antoine du Hamel / #5393)accept
prop into a string everywhere (Evgenia Karunus / #5380)FAQs
Client library for communication with Companion. Intended for use in Uppy plugins.
The npm package @uppy/companion-client receives a total of 91,496 weekly downloads. As such, @uppy/companion-client popularity was classified as popular.
We found that @uppy/companion-client demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 5 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
GitHub removed 27 malicious pull requests attempting to inject harmful code across multiple open source repositories, in another round of low-effort attacks.
Security News
RubyGems.org has added a new "maintainer" role that allows for publishing new versions of gems. This new permission type is aimed at improving security for gem owners and the service overall.
Security News
Node.js will be enforcing stricter semver-major PR policies a month before major releases to enhance stability and ensure reliable release candidates.